from PySide import QtGui
from new_database import Ui_newDataBaseDialog
import os.path


class ControlNewDatabase(QtGui.QDialog):
    def __init__(self, parent=None):
        super(ControlNewDatabase, self).__init__(parent)
        self.ui = Ui_newDataBaseDialog()
        self.ui.setupUi(self)
        self.ui.buttonBox.accepted.connect(self.okCreateDatabase)
        self.ui.buttonBox.rejected.connect(self.cancel)
        self.ui.btnChooseFolder.clicked.connect(self.openFile)

        self.parent = parent
        self.path = ''  # Путь к выбранной БД.

    def openFile(self):
        self.path = QtGui.QFileDialog.getExistingDirectory(self, 'Открыть базу данных', '')
        self.ui.lblInfo.setText('Расположение базы данных<br/>выбрано.')

    def okCreateDatabase(self):
        if self.path == '':
            self.ui.lblInfo.setText('<font style="color: red">Расположение базы данных<br/>не выбрано!</font>')
        elif self.ui.lineEditNameDb.text() == '':
            self.ui.lblInfo.setText('<font style="color: red">Имя базы данных не задано!</font>')
        elif os.path.exists(self.path + os.path.sep + self.ui.lineEditNameDb.text()):
            self.ui.lblInfo.setText('<font style="color: red">База данных с таким именем<br/>уже существует!</font>')
        else:
            self.parent.loadDatabase(self.path + os.path.sep + self.ui.lineEditNameDb.text())   
            self.accept()

    def cancel(self):
        self.reject()